package com.sino.dao;

import java.util.List;

import com.sino.bean.Entityrolerelation;
import com.sino.bean.Role;
import com.sino.bean.TblZhuanjiarukuxinxibiao;
import com.sino.bean.Users;

public interface IRoleDAO {
	/**
	 * 增加角色信息
	 * 
	 * @param role
	 */
	public void saveRole(Role role);

	/**
	 * 删除角色信息
	 * 
	 * @param id
	 */
	public void delRole(int id);

	/**
	 * 更新角色信息
	 * 
	 * @param role
	 */
	public void updateRole(Role role);

	/**
	 * 列表查询所有角色信息
	 * 
	 * @return
	 */
	public List<Role> listAllRoles();
	/**
	 * 查找制定的角色信息
	 * @param id
	 * @return
	 */
    public Role getRole(int id);
    /**
     * 增加一条实体角色记录
     * @param err
     */
    public void saveEntityrolerelation(Entityrolerelation err);
    /**
     * 删除一条实体角色记录
     * @param err
     */
    public void delEntityrolerelation(Entityrolerelation err);
    /**
     * 按照区县科委查询出所有用户
     * @return
     */
    public List<Users> listUsersByQxkw(String QxkwId);
    /**
     * 查询出所有用户
     * @return
     */
    public List<Users> listAllUsers();
    /**
     * 查询出所有专家
     * @return
     */
    public List<TblZhuanjiarukuxinxibiao> listAllExperts();
    /**
     * 根据type类型查询出某一角色被授权的实体列表
     * @param roleId
     * @param type
     * @return
     */
    public List<Entityrolerelation> listEntityByRoleAndType(int roleId,int type);
   /**
    * 通过id查找某一个用户
    * @param id
    * @return
    */
    public Users getUserById(int id);
    /**
     * 通过id查找某一个专家
     * @param id
     * @return
     */
    public TblZhuanjiarukuxinxibiao getExpertById(int FBh);
}
